package org.jsola.hr.dto.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.dto.BaseDTO;
import org.jsola.hr.constant.convert.BooleanConverter;
import org.jsola.hr.constant.convert.DateConverter;

import java.util.Date;
import java.util.Set;

/**
 * 批量确认离职
 * @author lyh
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(description = "确认离职批量导入对象")
public class EmpChangeImportDTO extends BaseDTO {

    @ApiModelProperty(notes = "姓名")
    @ExcelProperty(value = "姓名")
    private String empName;

    @ApiModelProperty(notes = "身份证号")
    @ExcelProperty(value = "身份证号")
    private String idCard;

    @ApiModelProperty(notes = "离职原因")
    @ExcelProperty(value = "离职原因")
    private String leaveOfficeReason;

    @ApiModelProperty(notes = "离职日期")
    @ExcelProperty(value = "离职日期")
    private String leaveOfficeDate;

    @ApiModelProperty(notes = "离职备注")
    @ExcelProperty(value = "离职备注")
    private String remark;

    @ApiModelProperty(notes = "是否社保减员")
    @ExcelProperty(value = "是否社保减员", converter = BooleanConverter.class)
    private Boolean whetherSocDecrease;

    @ApiModelProperty(notes = "社保减员年月")
    @ExcelProperty(value = "社保减员年月")
    private String stopSocDate;

    @ApiModelProperty(notes = "是否医保减员")
    @ExcelProperty(value = "是否医保减员", converter = BooleanConverter.class)
    private Boolean whetherMeDecrease;

    @ApiModelProperty(notes = "医保减员年月")
    @ExcelProperty(value = "医保减员年月")
    private String stopMeDate;

    @ApiModelProperty(notes = "是否公积金减员")
    @ExcelProperty(value = "是否公积金减员", converter = BooleanConverter.class)
    private Boolean whetherSealed;

    @ApiModelProperty(notes = "公积金减员年月")
    @ExcelProperty(value = "公积金减员年月")
    private String sealedDate;

    @ExcelProperty(value = "服务费")
    private String serviceCost;

    @ApiModelProperty(notes = "错误列")
    private Set<String> errorColumn;

    @ApiModelProperty(notes = "错误信息")
    private String errorInfo;
}
